<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <!-- 生产环境中不建议使用 -->
    <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
    <title>React生命周期函数</title>
</head>

<body>
    <div id="app"></div>


</body>
<script type="text/babel">
        class Guo extends React.Component{
            constructor() {
                super();
                this.state ={
                    msg:'hello,react'
                }
            }
            

            // componentWillMount(){
            //     console.log('组件挂载前');
            //     console.log(document.querySelector('#div1'));
            //     console.log(this.props)
            //     console.log(this.state);
            // }

            // componentDidMount(){
            //     console.log('组件挂载后');
            //     console.log(document.querySelector('#div1'));
            // }

            // componentWillUpdate(){
            //     console.log('组件更新前');
            //     debugger;
                
            // }

            // componentDidUpdate(){
            //     console.log('组件更新后');
            // }

            componentWillUnmount(){
                console.log(`组件卸载之前`);
                
            }

            show(e){
                // e.stopPropagation();
                this.setState({
                    msg: Math.random()
                })

                // 面试会经常问
                e.nativeEvent.stopImmediatePropagation()
            }


            render(){
                return (<div>
                            <button onClick={this.show.bind(this)}>点击</button>
                            <div id="div1">{this.state.msg}</div>
                        </div>)
            }
        }


        ReactDOM.render(<Guo l='1'/>,app)

        document.onclick = function () {
            ReactDOM.render(<h1>拜拜~</h1>,app)
        } 
    </script>

</html>